package com.hyt.it.ogt.ks.feign.model;

import java.io.Serializable;
import java.util.List;

import com.hyt.it.ogt.ks.model.vo.ItemAttrDTO;
import com.hyt.it.ogt.ks.model.vo.ItemFileDTO;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


/**
 * 小题数据VO类
 *
 * @author huangyh
 * @since 2020-06-03
 */
@Data
@ApiModel(value = "小题数据VO类", description = "小题数据VO类")
public class ItemDataVO implements Serializable {

	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "小题id，前端新建试卷时无需传值，编辑试卷时也无需传值")
    private String itemId;

    @ApiModelProperty(value = "小题所属大题的id，前端新建试卷时无需传值，编辑试卷时也无需传值")
    private String topicId;

    @ApiModelProperty(value = "0-非复合题该题下没有挂子小题; 1-复合题该题下挂有子小题")
    private Boolean composite;

    @ApiModelProperty(value = "父题id，前端新建试卷时无需传值，编辑试卷时也无需传值")
    private String itemPid;

    @ApiModelProperty(value = "题干内容")
    private String itemContent;

    @ApiModelProperty(value = "标准答案，若有多给分点则用英文“,”分割且顺序要对应分值的顺序（例如：A,B,AB）")
    private String answer;

    @ApiModelProperty(value = "试题分值，若有多给分点则用英文“,”分割且顺序要对应标准答案的顺序（例如：1,1,2）")
    private String score;

    @ApiModelProperty(value = "试题排序")
    private Integer itemSort;

    @ApiModelProperty(value = "得分规则，1-少选得分，0-少选不得分")
    private String rule;

    @ApiModelProperty(value = "答案解析")
    private String description;

    @ApiModelProperty(value = "答案个数: (0 不限制; 1 至少1个; 2 至少2个。对多选题，有的要求至少两个以上答案)")
    private Integer answerCount;

    @ApiModelProperty(value = "小题类型：判断题、单选题、多选题、复合题、简答题、填空题、录音题、录相题、拖拽题、完形填空题")
    private String itemType;

    @ApiModelProperty(value = "子小题题型：判断题、单选题、多选题、简答题")
    private String childItemType;

    @ApiModelProperty(value = "预估难度系数: 1/2/3/4/5")
    private Integer difficulty;

    @ApiModelProperty(value = "是否客观题，true/1是客观题，false/0是主管题")
    private Boolean objective;

    @ApiModelProperty(value = "子小题列表")
    private List<ItemDataVO> childItemList;

    @ApiModelProperty(value = "选项数据列表")
    private List<OptionsDataVO> optionsDataList;

    @ApiModelProperty(value = "试题编号(性格测试卷调用报告接口使用)")
    private String itemSerialNumber;

    @ApiModelProperty(value = "题干资源文件")
    private List<ItemFileDTO> stemAttrs;

    @ApiModelProperty(value = "答案解析资源文件")
    private List<ItemFileDTO> descriptionAttrs;

    @ApiModelProperty(value = "标答资源文件")
    private List<ItemFileDTO> answerAttrs;

    @ApiModelProperty(value = "属性数据列表")
    private List<ItemAttrDTO> attrsDataList;

    @ApiModelProperty(value = "开启试题计时 false：未开启  true：开启'")
    private Boolean openItemTiming;

    @ApiModelProperty(value = "作答时长（秒）")
    private Integer outTimeSecond;

}
